Delphi XE10让android的界面设计摆脱繁杂 您所在的位置:网站首页 Delphi xe10 xe11 那个版本好 Delphi XE10让android的界面设计摆脱繁杂

Delphi XE10让android的界面设计摆脱繁杂

2024-07-12 10:37| 来源: 网络整理| 查看: 265

设计一个选项卡。

最终效果图样: 这里写图片描述 操作步骤: 1、创建一个multi_Device_Application; 2、在form上放一个Rectangle1,设置align为top。设置fill属性的kind为Gradient,编辑Gradient(颜色取值见样图)。 3、再放一个Rectange2设置align为top,底色为白色。 4、在Rectange2上放置三个RoundRect1,RoundRect2,RoundRect3。设置它们的Corners属性的TopLeft和TopRight为TURE,BottomLeft和BottomRight为FALSE,则圆角出现了。然后分别设置它们的Fill属性。 5、放置一个Tabcontrol控件,设置TopPostion为None;align为client。6、设置RoundRect1,RoundRect2,RoundRect3的tag属性分别为:1,2,3

直接上代码:

unit TabbedTemplate; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.TabControl, FMX.StdCtrls, FMX.Gestures, FMX.Controls.Presentation, FMX.Objects, FMX.Ani; type TTabbedForm = class(TForm) HeaderToolBar: TToolBar; ToolBarLabel: TLabel; TabControl1: TTabControl; TabItem1: TTabItem; TabItem2: TTabItem; TabItem3: TTabItem; GestureManager1: TGestureManager; Label2: TLabel; Label3: TLabel; Rectangle1: TRectangle; TabPanel: TPanel; Line1: TLine; RoundRect1: TRoundRect; RoundRect2: TRoundRect; Label5: TLabel; Label6: TLabel; RoundRect3: TRoundRect; Label7: TLabel; Rectangle2: TRectangle; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); procedure TabControl1Gesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); procedure TabHeadrOnClick(Sender: TObject); private { Private declarations } CurTabIndex:integer; public { Public declarations } end; var TabbedForm: TTabbedForm; implementation {$R *.fmx} procedure TTabbedForm.TabHeadrOnClick(Sender: TObject); var ClickTag:integer; i:integer; begin if (Sender is TLabel) then begin ClickTag:=Tlabel(sender).Tag end else if (Sender is TRoundRect) then begin ClickTag:=TRoundRect(Sender).Tag; end; if ClickTagCurTabIndex then begin for I := 0 to self.ComponentCount-1 do begin if (self.Components[i] is TRoundRect) then begin TRoundRect(self.Components[i]).Fill.Kind:=TBrushKind.Gradient; TRoundRect(self.Components[i]).Fill.Gradient.Color:= TAlphaColor($FFE2E4E4); TRoundRect(self.Components[i]).Fill.Gradient.Color1:=TAlphaColor($FFFFFFFF); TRoundRect(self.Components[i]).Fill.Gradient.Style:=TGradientStyle.Linear; TRoundRect(self.Components[i]).Stroke.Kind:=TBrushKind.None; end; end; TabControl1.ActiveTab:=TabControl1.Tabs[ClickTag-1];; CurTabIndex:=ClickTag; TRoundRect(sender).Fill.Kind:=TBrushKind.Solid; TRoundRect(Sender).Fill.Color:= TAlphaColorRec.Lightskyblue; TRoundRect(Sender).Stroke.Kind:=TBrushKind.Solid; TRoundRect(sender).stroke.Color:=TAlphaColorRec.Lightblue; end; end; procedure TTabbedForm.FormCreate(Sender: TObject); begin { This defines the default active tab at runtime } TabControl1.ActiveTab := TabItem1; CurTabIndex:=1; end; procedure TTabbedForm.FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); begin {$IFDEF ANDROID} case EventInfo.GestureID of sgiLeft: begin if TabControl1.ActiveTab TabControl1.Tabs[TabControl1.TabCount-1] then begin TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex+1]; Handled := True; end; end; sgiRight: begin if TabControl1.ActiveTab TabControl1.Tabs[0] then begin TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex-1]; Handled := True; end; end; end; {$ENDIF} end; procedure TTabbedForm.TabControl1Gesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); begin case EventInfo.GestureID of sgiRight: begin TabControl1.Previous(); Handled:=True; end; sgiLeft: begin TabControl1.Next(); Handled:=True; end; end; end; end.

本文转载于:http://www.cnblogs.com/wangorg/p/5130858.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有